In many communication systems, especially time division duplex (TDD) systems, there are generally two main methods for providing acknowledgment (ACK) for successful reception of data packets. In both methods, in response to receiving data packets from a source communication device, a destination communication device sends an ACK message back to the source communication device to inform it about packets that were successfully received and possibly about packets that were not correctly received. This allows the source communication device to retransmit those packets that were not properly received by the destination communication device.
According to one ACK method, the destination communication device sends an ACK message after each received data packet or frame. This provides the source communication device with “instant” feedback regarding the transmission of the packet or frame. Because of the “instant” feedback, the technique has the advantage of allowing the communication devices to adapt relatively fast to changes in the communication link environment. That is, the source communication device can lower the transmit data rate if the packets are frequently not being properly received by the destination communication device. Or, conversely, the source communication device can raise the transmit date rate if the packets are frequently being properly received by the destination communication device. However, the disadvantage of this technique is that the transmission of ACK messages typically adds to the overhead of the communication session, and consequently reduces the transmission efficiency of the session.
According to the other ACK method, the destination communication device sends an ACK message after receiving a block of packets or frames. Because fewer ACK messages are transmitted for a given amount of data transmitted, the communication session generally has less overhead and thus may be able to achieve higher transmission efficiencies. However, the disadvantage of this technique is that the communications devices may not be able to adapt responsively to a fast changing communication link environment.
Although in the above example the two communication devices were referred to as the source and destination devices, it shall be understood that the devices may be bidirectional. That is, the two devices operate both as a source device (if they are transmitting data) and a destination (if they are receiving data). Accordingly, their roles may change over time and they may be interlaced. Additionally, each of these devices may communicate with more than just the other device, but may have several simultaneous communication sessions with other devices.